/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package crypbox.net.backend;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 *
 * @author MJ
 */
public class Util {

    private static final Map<String, String> umlauteMap = new HashMap<String, String>();

    static {
        umlauteMap.put("ü", "u_99__");
        umlauteMap.put("ä", "a_99__");
        umlauteMap.put("ö", "o_99__");
        umlauteMap.put("ß", "s_99__");
        umlauteMap.put("Ü", "U_99__");
        umlauteMap.put("Ä", "A_99__");
        umlauteMap.put("Ö", "O_99__");
        umlauteMap.put("\\[", "EL_99__");
        umlauteMap.put("\\]", "ER_99__");
        umlauteMap.put("\\{", "GL_99__");
        umlauteMap.put("\\}", "GR_99__");
        umlauteMap.put("\\$", "DO_99__");
        umlauteMap.put("\\§", "PAR_99__");
        umlauteMap.put("\\(", "KL_99__");
        umlauteMap.put("\\)", "KR_99__");
        umlauteMap.put("\\'", "AP_99__");
        umlauteMap.put("\\´", "AC1_99__");
        umlauteMap.put("\\`", "AC2_99__");
        umlauteMap.put("\\+", "PL_99__");
        umlauteMap.put("\\~", "TI_99__");
        umlauteMap.put("\\#", "RA_99__");
        umlauteMap.put("\\?", "FR_99__");
        umlauteMap.put("\\*", "ST_99__");
    }

    public static String maskiereUmlaute(String s) {
        Iterator<String> umlauteIterator = umlauteMap.keySet().iterator();
        while (umlauteIterator.hasNext()) {
            String umlaut = umlauteIterator.next();
            String ersatz = umlauteMap.get(umlaut);
            s = s.replaceAll(umlaut, ersatz);
        }
        return s;
    }

    public static String demaskiereUmlaute(String s) {
        Iterator<String> umlauteIterator = umlauteMap.keySet().iterator();
        while (umlauteIterator.hasNext()) {
            String umlaut = umlauteIterator.next();
            String ersatz = umlauteMap.get(umlaut);
            s = s.replaceAll(ersatz, umlaut);
        }
        return s;
    }
}
